home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / Fresco / build / Unix / config / util / install.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  1995-07-12  |  1.8 KB  |  109 lines

  1. #!/bin/sh
  2.  
  3. #
  4. # install - install a program, script, or datafile
  5. #
  6. # $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
  7. #
  8. # This script is compatible with the BSD install script, but was written
  9. # from scratch.
  10. #
  11.  
  12.  
  13. # set DOITPROG to echo to test this script
  14.  
  15. doit="${DOITPROG:-}"
  16.  
  17.  
  18. # put in absolute paths if you don't have them in your path; or use env. vars.
  19.  
  20. mvprog="${MVPROG:-mv}"
  21. cpprog="${CPPROG:-cp}"
  22. chmodprog="${CHMODPROG:-chmod}"
  23. chownprog="${CHOWNPROG:-chown}"
  24. chgrpprog="${CHGRPPROG:-chgrp}"
  25. stripprog="${STRIPPROG:-strip}"
  26. rmprog="${RMPROG:-rm}"
  27.  
  28. instcmd="$mvprog"
  29. chmodcmd=""
  30. chowncmd=""
  31. chgrpcmd=""
  32. stripcmd=""
  33. rmcmd="$rmprog -f"
  34. src=""
  35. dst=""
  36.  
  37. while [ x"$1" != x ]; do
  38.     case $1 in
  39.     -c) instcmd="$cpprog"
  40.         shift
  41.         continue;;
  42.  
  43.     -m) chmodcmd="$chmodprog $2"
  44.         shift
  45.         shift
  46.         continue;;
  47.  
  48.     -o) chowncmd="$chownprog $2"
  49.         shift
  50.         shift
  51.         continue;;
  52.  
  53.     -g) chgrpcmd="$chgrpprog $2"
  54.         shift
  55.         shift
  56.         continue;;
  57.  
  58.     -s) stripcmd="$stripprog"
  59.         shift
  60.         continue;;
  61.  
  62.     *)  if [ x"$src" = x ]
  63.         then
  64.         src=$1
  65.         else
  66.         dst=$1
  67.         fi
  68.         shift
  69.         continue;;
  70.     esac
  71. done
  72.  
  73. if [ x"$src" = x ]
  74. then
  75.     echo "install:  no input file specified"
  76.     exit 1
  77. fi
  78.  
  79. if [ x"$dst" = x ]
  80. then
  81.     echo "install:  no destination specified"
  82.     exit 1
  83. fi
  84.  
  85.  
  86. # if destination is a directory, append the input filename; if your system
  87. # does not like double slashes in filenames, you may need to add some logic
  88.  
  89. if [ -d $dst ]
  90. then
  91.     dst="$dst"/`basename $src`
  92. fi
  93.  
  94.  
  95. # get rid of the old one and mode the new one in
  96.  
  97. $doit $rmcmd $dst
  98. $doit $instcmd $src $dst
  99.  
  100.  
  101. # and set any options; do chmod last to preserve setuid bits
  102.  
  103. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; fi
  104. if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; fi
  105. if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; fi
  106. if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; fi
  107.  
  108. exit 0
  109.